﻿using EkStudio.com.bean.xml.reflection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EkStudio.com.bean.xml.RootInterface.Field
{
    public class BillUiFieldsEditProperty:BillObjectInterface
    {
        

        

        [Xml("enable")]
        public bool Enable
        {
            get
            {
                return enable;
            }

            set
            {
                enable = value;
            }
        }
        [Xml("visible")]
        public bool Visible
        {
            get
            {
                return visible;
            }

            set
            {
                visible = value;
            }
        }
        [Xml("readOnly")]
        public bool ReadOnly
        {
            get
            {
                return readOnly;
            }

            set
            {
                readOnly = value;
            }
        }
        [Xml("charCase")]
        public string CharCase
        {
            get
            {
                return charCase;
            }

            set
            {
                charCase = value;
            }
        }
        [Xml("passwordType")]
        public bool PasswordType
        {
            get
            {
                return passwordType;
            }

            set
            {
                passwordType = value;
            }
        }
        [Xml("defaultData")]
        public string DefaultData
        {
            get
            {
                return defaultData;
            }

            set
            {
                defaultData = value;
            }
        }
        [Xml("groupTag")]
        public string GroupTag
        {
            get
            {
                return groupTag;
            }

            set
            {
                groupTag = value;
            }
        }
        [XmlTransient]
        public object ParentBean
        {
            get
            {
                return null;
            }

            set
            {
                
            }
        }
        [XmlElement("dropListStyle")]
        public BillUiFieldsDropListStyle DropListStyle
        {
            get
            {
                return dropListStyle;
            }

            set
            {
                dropListStyle = value;
            }
        }

        public object Clone()
        {
            BillUiFieldsEditProperty clone = new BillUiFieldsEditProperty();
            clone.Enable = this.enable;
            clone.Visible = this.visible;
            clone.ReadOnly = this.readOnly;
            clone.CharCase = this.CharCase;
            clone.PasswordType = this.passwordType;
            clone.DefaultData = this.defaultData;
            clone.GroupTag = this.groupTag;
            if (this.dropListStyle != null)
            {
                clone.DropListStyle = this.dropListStyle.Clone() as BillUiFieldsDropListStyle;
            }
            return clone;
        }

        private bool enable = true;//可用
        private bool visible = true;//可见
        private bool readOnly = false;//只读
        private string charCase = "StNormal";
        private bool passwordType = false;
        private string defaultData = "";
        private string groupTag = "0";
        private BillUiFieldsDropListStyle dropListStyle;
    }
}
